package main

import (
	"fmt"
	"strings"
)

// var (
// 	func1 = func(a int, b int) int {
// 		return a + b
// 	}
// )

func main() {
	// num := func(a, b int) int {
	// 	return a + b
	// }(10, 20)
	// fmt.Println(num)

	// num := func(a, b int) int {
	// 	return a + b
	// }
	// fmt.Println(num(10, 20))
	// res := func1(10, 20)
	// fmt.Println(res)

	//测试闭包
	// f := AddUpper()
	// fmt.Println(f(1))
	// fmt.Println(f(2))
	// fmt.Println(f(3))

	// f2 := adder()
	// fmt.Println(f2())
	// fmt.Println(f2())

	f2 := generateSuffix(".jpg")
	fmt.Println("文件处理后->", f2("winter"))
	fmt.Println("文件处理后->", f2("hello.jpg"))
}

func generateSuffix(suffix string) func(string) string {
	return func(name string) string {
		if !strings.HasSuffix(name, suffix) {
			return name + suffix
		}
		return name
	}
}

// func adder() func() int {
// 	i := 10
// 	return func() int {
// 		return i + 1
// 	}
// }

// func AddUpper() func(int) int {
// 	var n int = 10
// 	return func(i int) int {
// 		n += i
// 		return n
// 	}

// panic("unimplemented")
// }
